package app.inmos.functions.json;


import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import app.inmos.json.interfaces.IUtilsJSON;



public class EnvioMailUtilsJSON extends BaseUtilsJSON implements IUtilsJSON {
	
	private static EnvioMailUtilsJSON envioMailUtilsJSON;
	
	
	
	/**
	 * Singleton de InmobiliariaUtils
	 * @return
	 */
	public static EnvioMailUtilsJSON getInstance() {
		
		if (envioMailUtilsJSON == null) {
			envioMailUtilsJSON = new EnvioMailUtilsJSON();
		}
		return envioMailUtilsJSON;
		
	}

   public boolean enviarMail(String pEmail, String pNombre,String pTelefono,String pMessage){
	   
	       String stringEnvioMail="http://www.desarrollos221.com.ar/app/email/envioMail.php?email=" + "'"+ pEmail +"'" +
		   "&nombre=" + "'" + pNombre + "'" + "&telefono=" + "'" +  pTelefono + "'" +  "&message="+ "'" + pMessage +"'";
		
		   return (getPuedeEnviar(obtenerStringJSONConURL(stringEnvioMail)));
		   
		    
   }
   
   
   /**
	 * 
	 * Devuelve true o false si el envio de mail fue exitoso
	 * @param pEstructuraJSON
	 * @return
	 */
	public boolean getPuedeEnviar(String pEstructuraJSON)  {
		
		    try {
				
			
		    	    JSONArray estadoEnvioJSON = new JSONArray(pEstructuraJSON);
		    	    
		    	    if(estadoEnvioJSON.length()>0){
		    	        JSONObject objetoEstadoJSON = estadoEnvioJSON.getJSONObject(0);
		 	        
			 	        if(objetoEstadoJSON.getString("estadoEnvio")!=null && !objetoEstadoJSON.getString("estadoEnvio").equals("")){
			 	        	return ((String)objetoEstadoJSON.getString("estadoEnvio")).equals("exito");
			 	        }
		    	    }
		    	    
		    	    else{
		    	    	
		    	    	return false;
		    	    }
		      
	 	        
	 	     
			} catch (JSONException e) {
				
				e.printStackTrace();
			}
		    
		    return false;
	         
	}

   
   
   
	
	
	@Override
	public String obtenerEstructuraJSON() {

		//Este metodo queda inutilizado para esta clase
		return null;
		
	}
	

}
